#ifndef __BILBAO_DEFS_H__
#define __BILBAO_DEFS_H__

/**
 * NOTE: As seguintes macros( BILBAO_DEBUG, BILBAO_THREAD_SUPPORT, BILBAO_CPLUPLUS )
 * estão comentadas pois estamos num projeto Eclipse.
 * Caso você compile através da linha de comando, descomenti-as, se necessário.
 */
/// @def Para debugar
//#define BILBAO_DEBUG
/// @def Habilitá-la quando estiver trabalhando com Thread
//#define BILBAO_THREAD_SUPPORT
/**
 * @ref Existem códigos que foram implementados em C e C++. Essa macro indica a
 * forma que você deseje compilar
 */
//#define BILBAO_CPLUPLUS

// Detectar o sistema operacional - Inicio
/// @ref Sistema operacional Windows
#define BILBAO_WIN32 1
/// @ref Sistema operacional Linux
#define BILBAO_LINUX 2
/// @ref Sistema operacional Mac OS
//#define BILBAO_MACOS 3

#if defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(WIN64)
	#define BILBAO_PLATAFORM BILBAO_WIN32
#elif defined(__unix__)
	#define BILBAO_PLATAFORM BILBAO_LINUX
#endif
// Detectar o sistema operacional - Fim

#ifdef BILBAO_DEBUG
	#define PRINT_DEBUG(MSG) std::cout << MSG
	#define PRINTLN_DEBUG(MSG) std::cout << MSG << std::endl
#else
	#define PRINT_DEBUG(MSG)
	#define PRINTLN_DEBUG(MSG)
#endif

#endif //__BILBAO_DEFS_H__
